Scripting 应用允许你使用全局 API HealthCorrelation.create()
和 Health.saveCorrelation()
向 Apple HealthKit 写入相关健康数据。相关数据表示多个健康样本之间的逻辑关联,例如:
本文档将说明如何创建和保存相关样本。
Correlation 是一种将多个健康样本聚合为一个事件的机制,目前支持以下类型:
"bloodPressure"
:包含 "bloodPressureSystolic"
(收缩压)和 "bloodPressureDiastolic"
(舒张压)两个样本"food"
:可以包含热量、蛋白质、脂肪、碳水化合物等营养成分的样本在创建相关数据前,需要先创建各个组成的 HealthQuantitySample
实例。
请确保创建成功(返回值不为 null
)后再继续。
使用 HealthCorrelation.create()
创建相关数据对象。
参数 | 类型 | 描述 | |
---|---|---|---|
type |
"bloodPressure" 或 "food" |
相关类型 | |
startDate |
Date |
事件开始时间 | |
endDate |
Date |
事件结束时间 | |
objects |
(HealthQuantitySample | HealthCategorySample)\[] |
包含的健康样本数组 | |
metadata |
Record<string, any> (可选) |
附加元数据(如来源说明) |
使用 Health.saveCorrelation()
将创建的相关数据写入 HealthKit:
所有样本的时间范围(startDate / endDate)应一致或合理重叠;
"bloodPressure"
类型必须包含 收缩压 和 舒张压 两个样本;
"food"
类型可包含多个营养成分样本,如:
"dietaryEnergyConsumed"
→ HealthUnit.kilocalorie()
"dietaryProtein"
→ HealthUnit.gram()
"dietaryCarbohydrates"
→ HealthUnit.gram()
如果传入的参数不合法或缺少必要样本,HealthCorrelation.create()
将返回 null
。